package com.ny.mapper;

import com.ny.entity.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface UserMapper {
    @Select("select  * from user")
    public List<User> findAll();
    // 返回值类型 跟SQL执行的结果：集合
    // 参数：sql where 条件

    // 查询 添加 删除 修改
    // 查询：用户和密码
    @Select("select  * from user where username= #{username} and password =#{password}")
    public User findUser(@Param("username") String username, @Param("password") String password);

    // 添加用户（用于注册）
    @Insert("INSERT INTO user(username, password, nickname, phone, email, is_active, created_time) VALUES(#{username}, #{password}, #{nickname}, #{phone}, #{email}, 1, NOW())")
    public int addUser(User user);

//    查询邮箱号是否存在
    @Select("SELECT count(*) FROM user WHERE email = #{email}")
    public int findUserByEmail(String email);

// 通过邮箱号修改密码
   @Update("UPDATE user SET password = #{password} WHERE email = #{email}")
   public int updateUser( @Param("email") String email ,@Param("password") String password);
//    如果SQL语句中有多个参数，那么方法的参数就一定要加上@Param,不添加就不知道#{}里边的值不知道对应的是哪一个参数


}
